package cdu.sl.domain.vo;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 学习集的视图对象
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class StudySetVO {

    /**
     * 学习集ID
     */
    private Long id;

    /**
     * 创建者用户ID
     */
    private Long creatorId;

    /**
     * 创建者用户名
     */
    private String creatorName;

    /**
     * 创建者头像
     */
    private String creatorAvatar;

    /**
     * 创建者账户类型 0-学生 1-教师 2-其他
     */
    private Integer accountType;

    /**
     * 学习集标题
     */
    private String title;

    /**
     * 学习集描述
     */
    private String description;

    /**
     * 学习集类别/标签
     */
    private String category;

    /**
     * 是否公开
     */
    private Boolean isPublic;

    /**
     * 学习集权限设置 0-公开 1-私密 2-仅链接可见
     */
    private Integer visibility;

    /**
     * 创建时间
     */
    private LocalDateTime createdAt;

    /**
     * 更新时间
     */
    private LocalDateTime updatedAt;

    /**
     * 最近访问时间
     */
    private LocalDateTime lastAccessTime;

    /**
     * 学习语言
     */
    private String language;

    /**
     * 学习集封面图片
     */
    private String coverImage;

    /**
     * 卡片数量
     */
    private Integer cardCount;

    /**
     * 闪存卡列表
     */
    private List<FlashcardVO> flashcards;
} 